2023/12/23546字符
反射
package main
import (
"fmt"
"reflect"
)
func main() {
num := 3.4
fmt.Println(reflect.TypeOf(num), reflect.ValueOf(num)) //--> float64 3.4
v := reflect.ValueOf(num)
fmt.Println(v.Kind() == reflect.Float64) //--> true
fmt.Println(v.Type(), v.Float()) //--> float64 3.4
}
package main
import (
"fmt"
"reflect"
)
func main() {
var num1 = 1.23
var pointer = reflect.ValueOf(&num1)
var num2 = pointer.Elem()
fmt.Println(num2.CanSet()) //--> true
num2.SetFloat(3.14)
fmt.Println(num1) //--> 3.14
}